package bb.lanxing.lib.devices.sprint;

import android.bluetooth.BluetoothDevice;
import bb.lanxing.lib.devices.core.exception.TimeoutException;

public interface XossDeviceController {
    public static final int CMD_DELETE_ALL_FILE = 15;
    public static final int CMD_DELETE_FILE = 13;
    public static final int CMD_ERROR_FILE_NOT_EXIST_CRASH = 12;
    public static final int CMD_GET_CURRENT_STATUS = -1;
    public static final int CMD_GET_FILE = 5;
    public static final int CMD_POST_FILE = 7;
    public static final int CMD_REQUEST_GNSS_EXPIRED_TIME = 119;
    public static final int CMD_REQUEST_MEMORY_CAPACITY = 9;
    public static final int CMD_RESPONSE_EPHEMERIS = 120;
    public static final int ERROR_ABORTED = -2;
    public static final int ERROR_CONNECTION_LOST = -1;
    public static final int ERROR_FILE_NOT_FOUND = -5;
    public static final int ERROR_INVALID_STATE = -4;
    public static final int ERROR_SPRINT_TIMEOUT = -3;
    public static final byte MOTION_STATUS_PAUSING = 1;
    public static final byte MOTION_STATUS_RECORDING = 0;
    public static final byte MOTION_STATUS_STOP = -1;
    public static final int STATUS_DELETE_FILE_ON_SUCCESS = 14;
    public static final int STATUS_DEVICE_MEMORY_CAPACITY = 10;
    public static final int STATUS_FILE_ANALYSIS_FAILED = 21;
    public static final int STATUS_FILE_NOT_FOUND = 18;
    public static final byte STATUS_IDLE = 4;
    public static final byte STATUS_MOTION = -84;
    public static final int STATUS_NOT_IDLE = 20;
    public static final int STATUS_OUT_OF_MEMORY = 19;
    public static final int STATUS_POSTING = 6;
    public static final int STATUS_VERIFICATION_FAILED = 17;
    public static final int WINGS_BUSY = 3;
    public static final int WINGS_FAILURE = 1;
    public static final int WINGS_FINISHED = 2;
    public static final int WINGS_SUCCESS = 0;

    void abort();

    void close();

    void connect();

    void delete(String str);

    void deleteAll();

    void disconnect();

    Response execute(Command command) throws TimeoutException;

    Response execute(Command command, long j) throws TimeoutException;

    String getAddress();

    int getBattery();

    BluetoothDevice getBluetoothDevice();

    String getCurrentFileNameInTransfer();

    int getDeviceState();

    void getFile(String str);

    void getFileList();

    String getFirmwareVersion();

    String getHardwareVersion();

    long getLastTransmissionTime();

    String getManufacturer();

    String getModel();

    String getName();

    <T> T getObj(String str);

    Response getResponse() throws TimeoutException;

    String getSerial();

    String getSoftwareVersion();

    boolean isConnected();

    boolean isConnecting();

    boolean isDisConnectFromUser();

    boolean isDisRead();

    boolean isInit();

    boolean isRegistryInfoRead();

    <T> T putObj(String str, T t);

    void registerXossDeviceListener(SprintListener sprintListener);

    void requestMtu(int i, MtuRequestCallback mtuRequestCallback);

    void reset();

    boolean sendCmd(Command command);

    boolean sendCmdAsync(Command command);

    void sendFile(String str);

    void setDisConnectFromUser(boolean z);

    void setIsInit(boolean z);

    void setLogger(IDeviceLogger iDeviceLogger);

    void unregisterXossDeviceListener(SprintListener sprintListener);
}
